Conversation
e247f4f to
4787c14
Compare
…ed context Major work on branch (squash of 28 commits + final clippy cleanup): GPU simulator optimizations - f32 gate fusion, commuting-gate reorder, CY/SWAP/RXX/RYY direct shaders - Persistent kernel for small states with dynamic shared-memory sizing - CPU measurement fast path for small states (f32 <=16q, f64 <=15q) - Parallel CX/CZ/RZZ/RXX/RYY via rayon when .parallel(true) - Parallel scalar CX path for low-qubit pairs (q_lo < 2) - Fused flush_gates + state() readback into single encoder - Adaptive mz path selection: empirical N/M lookup table replacing hardcoded threshold - Raised StateVecSoA parallel threshold 14 -> 21 qubits - Exploration benchmarks for adaptive path decisions GpuDensityMatrix - Choi-Jamiolkowski representation on top of GpuStateVec - Generic over backend (f32 / f64); gates, noise channels, helpers - Cholesky re-purification for mixed states Correctness fixes (from audits) - GPU 2q rotation shaders (RXX/RYY bit_a==bit_b bug) - DensityMatrix phase/amplitude damping trace preservation - mz is_deterministic flag (previously hardcoded false) - GpuPauliProp gate ordering + Pauli X/Y/Z semantics, stale buffer reads - GpuDensityMatrix mz probability formula - GpuStabMulti::mz_queue now snapshots state at call time Shared GPU context (concurrent-use SIGSEGV fix) - Process-wide OnceLock<GpuDeviceContext> in pecos-gpu-sims/src/gpu_probe.rs - All 7 simulators now reuse one wgpu Instance/Adapter/Device/Queue - Fixes crashes under cargo's parallel test harness and MonteCarloEngine shots - Removed the --test-threads=1 workaround from pecos-cli rust test Test infrastructure - New audits: gate_audit, gate_fuzz, pauli_prop_audit, influence_sampler_audit, large_n_audit, noisy_sampler_stats, stab_extra_audits, extra_audits, flush_blocked_audit, concurrent_gpu_test - Removed pecos-quest / pecos-qulacs wrapper crates (bench code only) - Removed dangling quest_sim_test.rs and quest_example.rs Clippy / lint cleanup - GpuError::Startup variant wraps GpuStartupError - Internal GPU constants now usize (casts removed) - Renamed GatePipeline variants SWAP/RXX/RYY/RZZ -> Swap/Rxx/Ryy/Rzz - # Panics / # Errors doc sections added where clippy required - Cholesky loops allow needless_range_loop with justification - Test files allow cast_possible_truncation / cast_precision_loss with rationale
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
…ed context
Major work on branch (squash of 28 commits + final clippy cleanup):
GPU simulator optimizations
GpuDensityMatrix
Correctness fixes (from audits)
Shared GPU context (concurrent-use SIGSEGV fix)
Test infrastructure
Clippy / lint cleanup
Panics / # Errors doc sections added where clippy required